package com.aysafety.iotdataplatformweb.services.soundemission;

import java.util.List;
import java.util.Map;

public interface SoundEmissionService {
    long countByAcousticEmissionIntensity(String mineId, String deviceId, String startTime, String endTime,
        int timeSpan, String timeUnit) throws Throwable;

    List<Map<String, Object>> queryRealTimeByAcousticEmissionIntensity(String mineId, String deviceId, String startTime,
        String endTime, int timeSpan, String timeUnit, int page, int size, String startRow) throws Throwable;

    long countBySonicPulseRealTime(String mineId, String deviceId, String startTime, String endTime, int timeSpan,
        String timeUnit) throws Throwable;

    List<Map<String, Object>> queryRealTimeBySonicPulseRealTime(String mineId, String deviceId, String startTime,
        String endTime, int timeSpan, String timeUnit, int page, int size, String startRow) throws Throwable;

    /**
     * @Description: 查询特征参
     * @Param: [mineId, workingFace, startTime, endTime, m, dt]
     * @return: java.util.List<java.util.Map   <   java.lang.String   ,   java.lang.Object>>
     * @Author: ChengQi
     * @Date: 2019/2/26
     */
    List<Map<String, Object>> queryCal(String mineId, String workingFace, String startTime, String endTime, int n,
        int m, int dt, int a) throws Throwable;

    /**
     * @Description: 偏离异常持续时间h
     * @Param: [mineId, workingFace, startTime, endTime, m, dt, n, a]
     * @return: java.util.List<java.util.Map   <   java.lang.String   ,   java.lang.Object>>
     * @Author: ChengQi
     * @Date: 2018/12/25
     */
    List<Map<String, Object>> querydeviationLast(String mineId, String workingFace, String startTime, String endTime,
        int m, int dt, int n, double a) throws Throwable;

    /**
     * @Description: n小时偏离异常累计时间H
     * @Param: [mineId, workingFace, startTime, endTime, m, dt, n, a]
     * @return: java.util.List<java.util.Map   <   java.lang.String   ,   java.lang.Object>>
     * @Author: ChengQi
     * @Date: 2018/12/25
     */
    List<Map<String, Object>> deviationLastTotal(String mineId, String workingFace, String startTime, String endTime,
        int m, int dt, int n, double a) throws Throwable;

    /**
     * @Description: n小时偏离异常频次N
     * @Param: [mineId, workingFace, startTime, endTime, m, dt, n, a]
     * @return: java.util.List<java.util.Map   <   java.lang.String   ,   java.lang.Object>>
     * @Author: ChengQi
     * @Date: 2018/12/25
     */
    List<Map<String, Object>> deviationFrequency(String mineId, String workingFace, String startTime, String endTime,
        int m, int dt, int n, double a) throws Throwable;

    /**
     * @Description: 声-综合预警
     * @Param: [mineId, startTime, endTime]
     * @return: java.util.Map<java.lang.String   ,   java.lang.Object>
     * @Author: ChengQi
     * @Date: 2019/1/8
     */
    Map<String, Object> comprehensiveWarning(String mineId, String startTime, String endTime) throws Throwable;

}
